package face.pay.web.com.user.service;

import face.pay.entity.UserInfo;
import face.pay.util.ResultMessage;
import face.pay.util.page.PageData;
import face.pay.util.page.PageParam;

public interface IUserService {

    ResultMessage editUser(UserInfo loginUser,String roleCode,UserInfo userInfo);

    PageData queryPage(UserInfo loginUser,UserInfo userInfo, PageParam pageParam);
    /**
     * 查询用户详细资料
     * @param loginUser
     * @return 用户详细资料
     */
    UserInfo queryUserInfo(UserInfo loginUser);

    /**
     * 发送验证码
     * @param loginUser
     * @param bizType
     * @return
     */
    ResultMessage sendValidateCode(UserInfo loginUser, String bizType);

    /**
     * 修改用户信息
     * @param userInfo 用户信息
     * @param code 验证码
     * @param id 用户id
     * @return
     */
    ResultMessage updateUserInfo(UserInfo userInfo, String code, Integer id);

    ResultMessage modifyPassword(UserInfo loginUser, String validateCode, String newPassword);


    ResultMessage restPassword(String domain, String userName, String phone);

    ResultMessage updateMobile(UserInfo userInfo, String code, UserInfo loginUser);

}
